#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "qipan.h"
#include <QIcon>
#include <QVBoxLayout>
#include <QMessageBox>
#include <QTimer>
#include <QTime>
#include <QDebug>
#include <QPushButton>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

public slots:/* 槽函数 */
    /* 处理鼠标按下 */
    void handleCellClicked(int row, int col);

    void handleTimeOut();

    /* 开始游戏 */
    void handleStartSlot();

    /* 重新开始 */
    void handleRestartSlot();

    /* 悔棋 */
    void handleRepentance();

private:
    void NPCMove();

    /* 评估一个坐标价值 */
    int evaluateValue(int row, int col, Role role);

private:
    Ui::MainWindow *ui;

    /* 棋盘类 */
    qipan *m_qipan;

    /* 是谁的回合 */
    bool m_isPlayerTurn;

    /* 定时器对象 */
    QTimer *m_timer;

    int m_clickRow;

    int m_clickCol;

    /* 延时横坐标x */
    int m_delayRow;

    /* 延时纵坐标 */
    int m_delayCol;
};

#endif // MAINWINDOW_H
